TELNETD(8) | System Manager's Manual | TELNETD(8) |
名前¶
telnetd
— DARPA
telnet
プロトコルサーバ
書式¶
/usr/sbin/in.telnetd
[-hns
] [-a
authmode] [-D
debugmode] [-L
loginprg] [-S
tos] [-X
authtype] [-edebug
]
[-debug
port]
説明¶
telnetd
プログラムは、 DARPA telnet
対話的通信プロトコルをサポートするサーバである。
telnetd
は、通常は
/etc/services ファイル
(services(5) を参照)
に記述されている telnet
ポートへの接続要求を受けて、
インターネットサーバ
(inetd(8) を参照)
から起動される。
-debug
オプションは、
telnetd
を inetd(8)
ではなく、手動で起動するために使われる。
この方法で起動した場合、
別の TCP ポート番号で
telnetd
を実行するために、
port
を指定することができる。
telnetd
プログラムは以下のオプションを受け付ける:
-a
authmode- このオプションは、どのモードが認証に使われるかを指定するために用いられる。
このオプションは、
telnetd
が認証をサポートする設定でコンパイルされている場合にのみ、 有効である点に注意すること。 これは現在のバージョンでは使用できない。 authmode のとしては、以下の値を受け付ける:- debug
- 認証のデバッグコードを有効にする。
- user
- リモートユーザは、自分自身であること示すための 有効な認証情報を提供した時にのみ接続が許可される。 この場合、指定されたアカウントに対しては、 パスワードの提供なしに接続が許可される。
- valid
- リモートユーザは、自分自身であること示すための 有効な認証情報を提供した時にのみ接続が許可される。 リモートユーザに指定されたアカウントに対する 自動的な接続が許可されていなければ、 login(1) コマンドは、必要となる別のユーザ認証を行う。
- other
- ある種の認証情報を提供した場合のみ接続を許可する。
このオプションは、現在のところ、
既存のいずれの認証方法でもサポートされていないため、
valid
オプションを指定するのと同じである。 - none
- デフォルトではこの状態である。 認証情報は要求されない。 もし認証情報がなかったり不十分であれば、 login(1) プログラムによって必要となるユーザ認証を行う。
- off
- 認証コードを無効にする。 すべてのユーザ証明が login(1) プログラムによって行われる。
-D
debugmode- このオプションはデバックのために使われる。
これによって
telnetd
にデバッグ情報を表示させ、telnetd
の動作をユーザが見ることができる。 以下に示すような、いくつかの debugmode がある: -edebug
- このオプションは、
telnetd
が暗号化をサポートする設定でコンパイルされている場合にのみ、 有効である点に注意すること。-edebug
オプションは、暗号化デバッグコードを有効にするために使われる。 -h
- ログインが完了するまでホストに特有の情報を表示しないようにする。
-L
loginprg- このオプションは、別の login プログラムを指定するために使われる。 デフォルトでは、 /bin/login が使われる。
-n
TCP
keep-alives を無効にする。 通常telnetd
は、 クライアントがまだ存在するかを決定するために、 ある一定期間アイドルになっている接続を調べる TCP keep-alive 機構を有効にしている。 これにより、クラッシュしたり、 すでに接続出来ないようなマシンからの アイドルコネクションを解消できる。-s
- このオプションは、
telnetd
が SecurID カードをサポートする設定でコンパイルされている場合にのみ、有効である。 このオプションは、-s
オプションを login(1) にそのまま渡すようにするので、 login(1) が、 SecurID によって認証されたログインのみを許可していることを表す、-s
フラグをサポートしている場合にのみ役立つ。 これは通常、ファイアウォールの外側からの リモートログインを制御する場合に役立つ。 -S
tos- telnet 接続の IP サービスタイプ (type-of-service, TOS) オプションの値を tos に設定する。
-X
authtype- このオプションは、
telnetd
が認証オプションをサポートする設定でコンパイルされている場合にのみ、 有効である。 このオプションは authtype 認証の使用を不可にし、telnetd
を再コンパイルすることなく、 特定の認証タイプを一時的に使用不可にすることができる。
ファイル
/etc/issue.net
が存在する場合、
telnetd
は、telnet
セッションのログインプロンプトより前に、
そのファイルの内容を表示する
(issue.net(5)
を参照すること)。
telnetd
は、疑似端末デバイス
(pty(4) を参照)
をクライアントに割り当て、login
プロセスを生成する。
この login プロセスは、
stdin
, stdout
,
stderr
として疑似端末のスレーブ側を使用する。
telnetd
は、 telnet
プロトコルを実装し、
リモートクライアントとログインプロセスの間に文字を受け渡すことにより、
疑似端末のマスター側を操作する。
telnet
セッションが開始されると、
telnetd
は、以下の
telnet
オプションを希望していることを示すために、
クライアント側にこれらの
telnet
オプションを送信する。
これらのオプションの詳細については、以下で説明されている:
DO AUTHENTICATION WILL ENCRYPT DO TERMINAL TYPE DO TSPEED DO XDISPLOC DO NEW-ENVIRON DO ENVIRON WILL SUPPRESS GO AHEAD DO ECHO DO LINEMODE DO NAWS WILL STATUS DO LFLOW DO TIMING-MARK
クライアントに割り当てられた疑似端末は、
“cooked”
モードで動作し、
XTABS
CRMOD
が有効になるように設定される
(tty(4)
を参照すること)。
telnetd
は、ローカル側で有効な、以下の
telnet
オプションをサポートしている:
- WILL ECHO
LINEMODE
オプションが有効な場合、 端末の現在のエコー状態を示すために、WILL ECHO
またはWONT ECHO
がクライアントに送信される。 端末エコーが必要ない場合、 端末にエコーする必要があるデータを telnetd がエコー処理することを示すために、WILL ECHO
が送信され、何もエコーされない。 端末エコーが必要な場合、 telnetd が端末エコーも行わないことを示すために、WONT ECHO
が送信されるので、 端末エコーが必要な場合はクライアントが行わなければならない。- WILL BINARY
- クライアントが、 通常のネットワーク仮想端末が用いる 7 ビットのデータではなく、 8 ビットのデータを送信するように指定する。
- WILL SGA
IAC GA
すなわち go ahead コマンドを送信しないように指定する。- WILL STATUS
- クライアントから要求があった場合に、全ての TELNET オプションの現在の状況を送信するように指定する。
- WILL TIMING-MARK
DO TIMING-MARK
コマンドを受信した場合、常にそれに対してWILL TIMING-MARK
を返信する。- WILL LOGOUT
DO LOGOUT
を受信した場合、WILL LOGOUT
を返信し、 TELNET セッションをシャットダウンする。- WILL ENCRYPT
telnetd
がデータの暗号化をサポートする設定で コンパイルされている場合にのみ送信され、 データ列を復号化するように指定する。
telnetd
は、リモート側で有効な、以下の
TELNET
オプションをサポートしている:
- DO BINARY
- このオプションは、 telnetd が 8 ビットのデータ列を受信するように指定するために送られる。
- DO LFLOW
- クライアントがフロー制御文字をリモート側で処理するように指定する。
- DO ECHO
- このオプションは実際にはサポートされていないが、
WILL ECHO
に対して正しく応答しない、 4.2BSD の telnet(1) クライアントを識別するために送られる。WILL ECHO
を受信すると、DONT ECHO
が返答として送信される。 - DO TERMINAL-TYPE
- 接続のクライアント側に割り当てられた端末の タイプ名を要求できるように指定する。
- DO SGA
IAC GA
すなわち go ahead コマンドを受信する必要がないように指定する。- DO NAWS
- ウィンドウ (ディスプレイ) のサイズが変わった場合に、 クライアントがサーバに知らせることを要求する。
- DO TERMINAL-SPEED
- クライアントに割り当てられたシリアルラインの 速度に関する情報を要求できるように指定する。
- DO XDISPLOC
- telnet クライアントが使用している X ウィンドウのディスプレイの名前を要求できるように指定する。
- DO NEW-ENVIRON
- RFC 1572 に示されている 環境変数に関する情報を要求できるように指定する。
- DO ENVIRON
- RFC 1408 に示されている 環境変数に関する情報を要求できるように指定する。
- DO LINEMODE
telnetd
が linemode をサポートする設定でコンパイルされている場合にのみ送信され、 クライアントに行単位の処理を行うことを要求する。- DO TIMING-MARK
telnetd
が linemode と kludge linemode の 両方をサポートする設定でコンパイルされ、 クライアントがWONT LINEMODE
を返信した場合にのみ、送信される。 クライアントがWILL TM
を返信した場合、 クライアントが kludge linemode をサポートしていると見なす。 [-k
] オプションは、この機能を無効にするために使用される点に注意すること。- DO AUTHENTICATION
telnetd
が認証機能をサポートする設定でコンパイルされている場合にのみ送信され、 自動ログインに使用する認証情報を受信するようにする。- DO ENCRYPT
telnetd
がデータの暗号化をサポートする設定で コンパイルされている場合にのみ送信され、 データ列を復号化するように指定する。
ファイル¶
/etc/services, /etc/issue.net
関連項目¶
準拠¶
RFC-854
- TELNET PROTOCOL SPECIFICATION
RFC-855
- TELNET OPTION SPECIFICATIONS
RFC-856
- TELNET BINARY TRANSMISSION
RFC-857
- TELNET ECHO OPTION
RFC-858
- TELNET SUPPRESS GO AHEAD OPTION
RFC-859
- TELNET STATUS OPTION
RFC-860
- TELNET TIMING MARK OPTION
RFC-861
- TELNET EXTENDED OPTIONS - LIST OPTION
RFC-885
- TELNET END OF RECORD OPTION
RFC-1073
- Telnet Window Size Option
RFC-1079
- Telnet Terminal Speed Option
RFC-1091
- Telnet Terminal-Type Option
RFC-1096
- Telnet X Display Location Option
RFC-1123
- Requirements for Internet Hosts -- Application and Support
RFC-1184
- Telnet Linemode Option
RFC-1372
- Telnet Remote Flow Control Option
RFC-1416
- Telnet Authentication Option
RFC-1411
- Telnet Authentication: Kerberos Version 4
RFC-1412
- Telnet Authentication: SPX
RFC-1571
- Telnet Environment Option Interoperability Issues
RFC-1572
- Telnet Environment Option
バグ¶
いくつかの TELNET コマンドは、部分的にしか実装されていない。
オリジナルの 4.2 BSD の
telnet(1)
のバグに対処するため、
telnetd
は、ある種のうさんくさいプロトコル通信を行うことにより、
リモートクライアントが実際に
4.2 BSD の telnet(1)
であるかを判断しようとする。
バイナリモードは、よく似たオペレーティングシステム (この場合 Unix) 間以外では、 一般的な互換性がない。
リモートクライアントから受け取った端末タイプ名は、小文字に変換される。
telnetd
は、 TELNET
IAC GA
(go ahead)
コマンドを絶対に送らない。
ソースコードが分かりやすくない。
翻訳者謝辞¶
この man ページの翻訳にあたり、 FreeBSD jpman project <http://www.jp.freebsd.org/man-jp/> による翻訳を参考にさせていただいた。
December 29, 1996 | Linux NetKit (0.17) |